iT邦幫忙

2024 iThome 鐵人賽

DAY 22
0
佛心分享-我的私藏工具箱

正則!好好表達系列 第 22

解析Pepper的pkg檔並分析manifest.xml的uuid及version

  • 分享至 

  • xImage
  •  

職涯裡用到Python機會少之又少。這需求是解析由Pepper的Choreograph工具打包出來的pkg檔,是壓縮檔卻無法使用Python的tarfile模組,必須使用zipfile模組。但在Mac OS下的tar指令卻可以解壓縮。

import zipfile
import re

zf = zipfile.ZipFile("/Users/jemmy/Downloads/my-0.0.1.pkg",'r',zipfile.ZIP_DEFLATED)
manifest = zf.read("manifest.xml")
zf.close()
pattern = re.compile(r'(uuid|version)="(.+?)"', re.MULTILINE)
match = pattern.findall(manifest)
if match:
    print match
    print match[0][1]
    print match[1][1]
else:
    print "No Match"

而需要分析manifest.xml的uuid及version,可以由re模組的findall取得,得到結果如下:

[('version', '0.0.1'), ('uuid', 'howoldareyou-ed45e4')]
0.0.1
howoldareyou-ed45e4

上一篇
重組podman images內容輸出
下一篇
desc出來的schema由Sublime的Regex生成VO
系列文
正則!好好表達30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言